Роман Косухин#8
Conversation
| A.CallTo(() => recognizer.TryRecognize(file, out document)) | ||
| .Returns(true); | ||
|
|
||
| fileSender.SendFiles(new[] { file }, certificate) |
There was a problem hiding this comment.
В таких тестах неплохо бы ещё проверять, что не было вызова TrySend: сайд-эффект здесь важнее, чем возвращаемое значение
| } | ||
|
|
||
| [Test] | ||
| public void ReturnNull_OnEmptyId() |
There was a problem hiding this comment.
В коде нет отдельной обработки пустой строки: если по пустой строке что-то лежит, то оно вернётся.
Тест все равно зелёный, потому что в данном случае по пустой строке ничего нет. Можно переделать его на тест, проверяющий, обратное (что пустая строка работает). И добавить тест, проверяющий, что если по произвольному ключу ничего нет, то вернется null
| var thing = thingCache.Get(""); | ||
|
|
||
| thing.Should().BeNull(); | ||
| } |
There was a problem hiding this comment.
Тут бы ещё пару тестов написать: проверить кейс, когда несколько сущностей, и проверить, кэшируется ли null в случае отсутствия сущности в сервисе
| Thing _ = null; | ||
| A.CallTo(() => thingService.TryRead(thingId1, out _)) | ||
| .Returns(true) | ||
| .AssignsOutAndRefParameters(thing1); |
There was a problem hiding this comment.
Я бы делал это не в сетапе, а в самих тестах. Сейчас по коду самого теста непонятно, что это за thing1, есть оно в сервисе или нет. Или назвать как-нибудь типа existingThing
Выполнил задания по ThingCache и FileSender